/**
 * 评价模块常量定义
 */

// 评价计划状态
export const EVAL_PLAN_STATUS = {
  DRAFT: 0,        // 草稿
  SUBMITTED: 1,    // 已提交
  APPROVED: 2,     // 已审批
  PUBLISHED: 3,    // 已发布
  IN_PROGRESS: 4,  // 进行中
  COMPLETED: 5,    // 已完成
  CANCELLED: 6     // 已取消
} as const

// 评价计划状态文本映射
export const EVAL_PLAN_STATUS_TEXT = {
  [EVAL_PLAN_STATUS.DRAFT]: '草稿',
  [EVAL_PLAN_STATUS.SUBMITTED]: '已提交',
  [EVAL_PLAN_STATUS.APPROVED]: '已审批',
  [EVAL_PLAN_STATUS.PUBLISHED]: '已发布',
  [EVAL_PLAN_STATUS.IN_PROGRESS]: '进行中',
  [EVAL_PLAN_STATUS.COMPLETED]: '已完成',
  [EVAL_PLAN_STATUS.CANCELLED]: '已取消'
} as const

// 评价计划状态标签类型
export const EVAL_PLAN_STATUS_TAG_TYPE = {
  [EVAL_PLAN_STATUS.DRAFT]: '',
  [EVAL_PLAN_STATUS.SUBMITTED]: 'warning',
  [EVAL_PLAN_STATUS.APPROVED]: 'success',
  [EVAL_PLAN_STATUS.PUBLISHED]: 'primary',
  [EVAL_PLAN_STATUS.IN_PROGRESS]: 'warning',
  [EVAL_PLAN_STATUS.COMPLETED]: 'success',
  [EVAL_PLAN_STATUS.CANCELLED]: 'danger'
} as const

// 审核状态
export const AUDIT_STATUS = {
  PENDING: 0,      // 待审核
  APPROVED: 1,     // 审核通过
  REJECTED: 2      // 审核不通过
} as const

// 审核状态文本映射
export const AUDIT_STATUS_TEXT = {
  [AUDIT_STATUS.PENDING]: '待审核',
  [AUDIT_STATUS.APPROVED]: '审核通过',
  [AUDIT_STATUS.REJECTED]: '审核不通过'
} as const

// 审核状态标签类型
export const AUDIT_STATUS_TAG_TYPE = {
  [AUDIT_STATUS.PENDING]: 'warning',
  [AUDIT_STATUS.APPROVED]: 'success',
  [AUDIT_STATUS.REJECTED]: 'danger'
} as const

// 注册状态
export const REGISTRATION_STATUS = {
  PENDING: 0,      // 待报名
  REGISTERED: 1,   // 已报名
  CANCELLED: 2     // 已取消
} as const

// 注册状态文本映射
export const REGISTRATION_STATUS_TEXT = {
  [REGISTRATION_STATUS.PENDING]: '待报名',
  [REGISTRATION_STATUS.REGISTERED]: '已报名',
  [REGISTRATION_STATUS.CANCELLED]: '已取消'
} as const

// 注册状态标签类型
export const REGISTRATION_STATUS_TAG_TYPE = {
  [REGISTRATION_STATUS.PENDING]: 'warning',
  [REGISTRATION_STATUS.REGISTERED]: 'success',
  [REGISTRATION_STATUS.CANCELLED]: 'danger'
} as const

// 评分状态
export const SCORE_STATUS = {
  PENDING: 0,      // 待评分
  SCORED: 1,       // 已评分
  CONFIRMED: 2     // 已确认
} as const

// 评分状态文本映射
export const SCORE_STATUS_TEXT = {
  [SCORE_STATUS.PENDING]: '待评分',
  [SCORE_STATUS.SCORED]: '已评分',
  [SCORE_STATUS.CONFIRMED]: '已确认'
} as const

// 评分状态标签类型
export const SCORE_STATUS_TAG_TYPE = {
  [SCORE_STATUS.PENDING]: 'warning',
  [SCORE_STATUS.SCORED]: 'primary',
  [SCORE_STATUS.CONFIRMED]: 'success'
} as const

// 技能等级
export const SKILL_LEVELS = [
  { label: '五级（初级工）', value: '五级' },
  { label: '四级（中级工）', value: '四级' },
  { label: '三级（高级工）', value: '三级' },
  { label: '二级（技师）', value: '二级' },
  { label: '一级（高级技师）', value: '一级' }
] as const

// 评价方式
export const EVALUATION_METHODS = [
  { label: '认定评价', value: 'assessment' },
  { label: '考试评价', value: 'examination' },
  { label: '混合评价', value: 'mixed' }
] as const

// 科目类型
export const SUBJECT_TYPES = [
  { label: '理论知识', value: 'theory' },
  { label: '技能操作', value: 'practical' },
  { label: '综合评价', value: 'comprehensive' }
] as const

// 性别选项
export const GENDER_OPTIONS = [
  { label: '男', value: 1 },
  { label: '女', value: 2 }
] as const

// 学历选项
export const EDUCATION_LEVELS = [
  { label: '博士', value: 1 },
  { label: '硕士', value: 2 },
  { label: '本科', value: 3 },
  { label: '专科', value: 4 },
  { label: '高中', value: 5 },
  { label: '中专', value: 6 },
  { label: '初中', value: 7 },
  { label: '小学', value: 8 }
] as const

// 公告类型
export const ANNOUNCEMENT_TYPES = [
  { label: '通知公告', value: 'notice' },
  { label: '成绩公示', value: 'score' },
  { label: '证书公示', value: 'certificate' },
  { label: '其他', value: 'other' }
] as const

// 异议类型
export const OBJECTION_TYPES = [
  { label: '成绩异议', value: 'score' },
  { label: '资格异议', value: 'qualification' },
  { label: '程序异议', value: 'procedure' },
  { label: '其他异议', value: 'other' }
] as const

// 处理状态
export const HANDLE_STATUS = {
  PENDING: 0,      // 待处理
  PROCESSING: 1,   // 处理中
  PROCESSED: 2,    // 已处理
  REJECTED: 3      // 已驳回
} as const

// 处理状态文本映射
export const HANDLE_STATUS_TEXT = {
  [HANDLE_STATUS.PENDING]: '待处理',
  [HANDLE_STATUS.PROCESSING]: '处理中',
  [HANDLE_STATUS.PROCESSED]: '已处理',
  [HANDLE_STATUS.REJECTED]: '已驳回'
} as const

// 处理状态标签类型
export const HANDLE_STATUS_TAG_TYPE = {
  [HANDLE_STATUS.PENDING]: 'warning',
  [HANDLE_STATUS.PROCESSING]: 'primary',
  [HANDLE_STATUS.PROCESSED]: 'success',
  [HANDLE_STATUS.REJECTED]: 'danger'
} as const

// 监控状态
export const MONITOR_STATUS = {
  NORMAL: 0,       // 正常
  EXCEPTION: 1,    // 异常
  WARNING: 2       // 警告
} as const

// 监控状态文本映射
export const MONITOR_STATUS_TEXT = {
  [MONITOR_STATUS.NORMAL]: '正常',
  [MONITOR_STATUS.EXCEPTION]: '异常',
  [MONITOR_STATUS.WARNING]: '警告'
} as const

// 监控状态标签类型
export const MONITOR_STATUS_TAG_TYPE = {
  [MONITOR_STATUS.NORMAL]: 'success',
  [MONITOR_STATUS.EXCEPTION]: 'danger',
  [MONITOR_STATUS.WARNING]: 'warning'
} as const

// 模板状态
export const TEMPLATE_STATUS = {
  DRAFT: 0,        // 草稿
  PUBLISHED: 1,    // 已发布
  DISABLED: 2      // 已停用
} as const

// 模板状态文本映射
export const TEMPLATE_STATUS_TEXT = {
  [TEMPLATE_STATUS.DRAFT]: '草稿',
  [TEMPLATE_STATUS.PUBLISHED]: '已发布',
  [TEMPLATE_STATUS.DISABLED]: '已停用'
} as const

// 模板状态标签类型
export const TEMPLATE_STATUS_TAG_TYPE = {
  [TEMPLATE_STATUS.DRAFT]: 'warning',
  [TEMPLATE_STATUS.PUBLISHED]: 'success',
  [TEMPLATE_STATUS.DISABLED]: 'danger'
} as const

// 通用状态
export const COMMON_STATUS = {
  DISABLED: 0,     // 禁用
  ENABLED: 1       // 启用
} as const

// 通用状态文本映射
export const COMMON_STATUS_TEXT = {
  [COMMON_STATUS.DISABLED]: '禁用',
  [COMMON_STATUS.ENABLED]: '启用'
} as const

// 通用状态标签类型
export const COMMON_STATUS_TAG_TYPE = {
  [COMMON_STATUS.DISABLED]: 'danger',
  [COMMON_STATUS.ENABLED]: 'success'
} as const
